#ifndef _csZipArchive_h_
#define _csZipArchive_h_

/********************************************************************
	created:	2009/11/06
	created:	6:11:2009   18:17
	filename: 	e:\csEngine\csCoreLib\src\io\csZipArchive.h
	file path:	e:\csEngine\csCoreLib\src\io
	file base:	csZipArchive
	file ext:	h
	author:		dongchengok
	
	purpose:	zip archive
*********************************************************************/
#include "csIArchive.h"
//------------------------------------------------------------------------
class csZipArchive : public csIArchive
{
	friend class csArchiveSystem;
public:
protected:
	csZipArchive(const csString& path);
	virtual ~csZipArchive();

	virtual bool				isDictionary() const;
	virtual csArray<csString>	listArchive() const;
	virtual csArray<csString>	listDictionaryArchive() const;
	virtual csArray<csString>	listFileArchive() const;
	virtual csIArchive*			findArchive(const csString& path) const;
	virtual csIArchive*			findOrCreateArchive(const csString& path);
	virtual csStream*			open(bool write/* =true */,bool read/* =true */);
};
#endif // _csZipArchive_h_